#include<iostream>
#include<vector>
using namespace std;

//int main()
//{
//	//vector<int> v1 = { 1,2,3,4 };
//	////vector<int>::iterator it1 = v1.begin();
//	//vector<int>::iterator pos = find(v1.begin(), v1.end(), 3);
//	//v1.insert(pos, 10);
//	////cout << *pos << endl;
//	///*
//	//v1.erase(pos);
//	//cout << *pos << endl;*/
//	//vector<int>::iterator it1 = v1.begin();
//	//while (it1 != v1.end())
//	//{
//
//	//	cout << *it1 << " ";
//	//	it1++;
//	//}
//	//return 0;
//	/*vector<int> v1 = { 1,2,3,4 };
//	vector<int>::iterator pos = find(v1.begin(), v1.end(), 3);
//	vector<int>::iterator it1=v1.erase(pos);
//	if(it1!=v1.end())
//		cout << *it1 << endl;
//	return 0;*/
//	vector<int> v1 = { 1,2,3,4 };
//	vector<int>::iterator it = v1.begin();
//	while (it != v1.end())
//	{
//		if (*it % 2 == 0)
//			it = v1.erase(it);
//		else
//			it++;
//	}
//	for (auto e : v1)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv;
        vv.resize(numRows);
        for (int i = 0; i < numRows; i++)
        {
            vv[i].resize(i + 1, 0);
            vv[i][0] = vv[i][vv[i].size() - 1] = 1;
        }
        for (int i = 0; i < numRows; i++)
        {
            for (int j = 0; j <= i; j++)
            {
                if (vv[i][j] == 0)
                    vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1];

            }
        }
        return vv;
    }
};